// pages/mypost/mypost.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    posts: [] // 帖子列表数据
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.loadPosts();
  },

  // 加载帖子数据
  async loadPosts() {
    wx.showLoading({
      title: '加载中...'
    });
    try {
      const res = await wx.cloud.callFunction({
        name: 'createArtPosts',
        data: {
          action: 'getPosts',
          data: {
            page: 1,
            pageSize: 20
          }
        }
      });
      this.setData({ posts: res.result.data });
    } catch (err) {
      console.error('加载帖子失败:', err);
      wx.showToast({
        title: '加载失败',
        icon: 'none'
      });
    } finally {
      wx.hideLoading();
    }
  },

  // 删除帖子
  async deletePost(e) {
    const id = e.currentTarget.dataset.id;
    wx.showModal({
      title: '提示',
      content: '确定要删除这篇帖子吗？',
      success: async (res) => {
        if (res.confirm) {
          wx.showLoading({
            title: '删除中...'
          });
          try {
            await wx.cloud.callFunction({
              name: 'deletePost',
              data: { id }
            });
            const posts = this.data.posts.filter(post => post._id !== id);
            this.setData({ 
              posts
            }, () => {
              wx.showToast({
                title: '删除成功',
                icon: 'success'
              });
            });
          } catch (err) {
            console.error('删除失败:', err);
            wx.showToast({
              title: '删除失败',
              icon: 'none'
            });
          } finally {
            wx.hideLoading();
          }
        }
      }
    });
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})